The present invention relates to a communicating method between an IPv4 terminal and an IPv6 terminal and to an IPv4-IPv6 converting apparatus. More particularly, the invention relates to method and apparatus for realizing a communication between an IPv4 terminal using IPv4 (Internet Protocol version 4) as a communication protocol and an IPv6 terminal using IPv6 (Internet Protocol version 6) as a communication protocol.
As a method of realizing a communication between an IPv4 terminal and an IPv6 terminal, there is a method of using an xe2x80x98IPv4-mapped IPv6 addressxe2x80x99 and an xe2x80x98IPv4-compatible IPv6 addressxe2x80x99 described in RFC (Request For Comments) 1884 issued by IETF (Internet Engineering Task Force).
The xe2x80x98IPv4-mapped IPv6 addressxe2x80x99 is an IPv6 address in which xe2x80x9c0xe2x80x9d is set to the 127th to 48th bits among 128 bits of the IPv6 address, xe2x80x9c1xe2x80x9d is set to the 47th to 32nd bits, and an xe2x80x98IPv4 addressxe2x80x99 is set to the 31st to 0th bits.
The xe2x80x98IPv4-compatible IPv6 addressxe2x80x99 is an IPv6 address in which xe2x80x9c0xe2x80x9d is set to the 127th to 32nd bits among 128 bits of the IPv6 address and the xe2x80x98IPv4 addressxe2x80x99 is set to the 31st to 0th bits.
When the communication between the IPv4 terminal and the IPv6 terminal is executed, an IPv4 address is preliminarily fixedly allocated to the IPv6 terminal which communicates with the IPv4 terminal. A packet converting apparatus is provided on the way of a path through which the IPv4 terminal and the IPv6 terminal communicate and a mutual conversion of IP headers of an IPv4 packet (RFC791) and an IPv6 packet (RFC1883) is performed.
In an IPv4 network, the IPv4 address of the IPv4 terminal and the IPv4 address allocated to the IPv6 terminal are used and a communication is executed by using the IPv4 packet. In an IPv6 network, the xe2x80x98IPv4 mapped IPv6 addressxe2x80x99 in which the xe2x80x98IPv4 address of the IPv4 terminalxe2x80x99 has been set is used as an IPv6 address of the IPv4 terminal. In the IPv6 network, the xe2x80x98IPv4 compatible IPv6 addressxe2x80x99 in which the xe2x80x98IPv4 address allocated to the IPv6 terminalxe2x80x99 has been set is used as an IP address of the IPv6 terminal and a communication is executed by using the IPv6 packet.
The packet converting apparatus converts the xe2x80x98IPv4-mapped IPv6 addressxe2x80x99 included in the IPv6 packet into the xe2x80x98IPv4 address of the IPv4 terminalxe2x80x99 and converts the xe2x80x98IPv4-compatible IPv6 addressxe2x80x99 to the xe2x80x98IPv4 address allocated to the IPv6 terminalxe2x80x99, thereby converting the IPv6 packet into the IPv4 packet. Contrarily, the xe2x80x98IPv4 address of the IPv4 terminalxe2x80x99 included in the IPv4 packet is converted into the xe2x80x98IPv4-mapped IPv6 addressxe2x80x99 and the xe2x80x98IPv4 address allocated to the IPv6 terminalxe2x80x99 is converted into the xe2x80x98IPv4-compatible IPv6 addressxe2x80x99, thereby converting the IPv4 packet into the IPv6 packet. Consequently, the communication between the IPv4 terminal and the IPv6 terminal can be executed.
As a method of realizing the communication between the IPv4 terminal and the IPv6 terminal, IETF also proposed a method called a dual stack. According to the method, the IPv6 terminal has both of the communication protocols of IPv4 and IPv6. A communication is executed between the IPv6 terminals by using the IPv6 protocol. A communication is executed between the IPv4 terminals by using the IPv4 protocol. Thus, the communication between the IPv4 terminal and the IPv6 terminal can be executed.
IETF also proposed a method called an IP tunneling. This is a method such that when the IPv4 network exists on a communication path between two IPv6 terminals and a communication cannot be executed directly by the IPv6 packet, the IPv6 packet is encapsulated by the IPv4 header and is allowed to pass through the IPv4 network. Similarly, when the IPv6 network exists on a communication path between the IPv4 terminals and a communication cannot be executed directly by the IPv4 packet, the IPv4 packet is encapsulated by the IPv6 header and is allowed to pass through the IPv6 network. Consequently, even when there is the IPv4 network on the communication path, the communication between the IPv6 terminals can be executed. Even when there is the IPv6 network on the communication path, the communication between the IPv4 terminals can be executed.
According to the method, the communication between the IPv4 terminal and the IPv6 terminal can be realized by a simple operation of adding a fixed pattern of 96 bits to the IPv4 address or deleting the fixed pattern of 96 bits from the IPv6 address.
According to the method called a dual stack, by selectively using the communication protocols of IPv4 and IPv6 in accordance with a communication partner, the communication between the IPv4 terminal and the IPv6 terminal can be realized.
According to the method called an IP tunneling, by encapsulating the packet by the header of the relevant communication protocol and passing the resultant data through the network existing on the communication path between the two terminals, the communication between the two terminals can be realized.
The convention techniques, however, have the following problems.
A first problem is that the IPv4 address has to be fixedly allocated to all of the IPv6 terminals which have a possibility of communication with the IPv4 terminal. This further consumes the IPv4 address which is short and accelerates its shortage.
A second problem is that since mutual domain information (for example, an IP address corresponding to a domain name) cannot be referred to between the IPv4 network and the IPv6 network, the partner can be designated not by the domain name but by only an actual IP address. This results in that the communication partners have to be mutually aware whether the partner uses IPv4 or IPv6 as a communication protocol.
A third problem is that, in the method called a dual stack, the IPv4 protocol is provided for all of the IPv6 terminals having the possibility of communication with the IPv4 terminal and the IPv4 address has to be fixedly allocated. This results in that a larger memory capacity is necessary as compared with that in case of providing only the IPv6 protocol and, in a manner similar to the first problem, the IPv4 address which is short is further consumed and the shortage is accelerated.
A fourth problem is that, in the method called an IP tunneling, when the IPv4 network exists on the communication path between the two IPv6 terminals, in order to pass the IPv6 packet by encapsulating it by the IPv4 header, a setting for it has to be preliminarily performed. Similarly, when the IPv6 network exists on the communication path between the two IPv4 terminals, in order to pass the IPv4 packet by encapsulating it by the IPv6 header, a setting for it has to be preliminarily performed. The method can be used only between the terminals in which the setting of the IP tunneling has preliminarily been performed. The communication cannot be executed between the terminals in which the setting is not preliminarily performed.
It is, therefore, an object of the invention to provide method and apparatus in which only an IPv6 protocol is provided for an IPv6 terminal, even if an IPv4 address is not preliminarily fixedly allocated, a communication between an IPv4 terminal and the IPv6 terminal can be executed, a partner is designated not by an IP address but by a domain name, and the communication between the IPv4 terminal and the IPv6 terminal can be executed.
According to the first aspect, in a communication network system comprising an IPv4 network, an IPv6 network; and an IPv4-IPv6 converting apparatus connected to both of them, an IPv4 terminal of the IPv4 network inquires an IP address for a domain name of an IPv6 terminal of the IPv6 network to the IPv4-IPv6 converting apparatus. Thus, the IPv4-IPv6 converting apparatus obtains the IPv6 address corresponding to the domain name from a DNS (Domain Name System) v6 server apparatus for managing domain information of the IPv6 network, dynamically acquires the IPv4 address corresponding to the IPv6 address from a DHCP (Dynamic Host Configuration Protocol) v4 server apparatus for dynamically allocating the IPv4 address, and notifies to the IPv4 terminal. The IPv4 terminal forms an IPv4 packet by setting an own IPv4 address to an IPv4 source address and by setting the notified IPv4 address to an IPv4 destination address and sends the IPv4 packet to the IPv4-IPv6 converting apparatus. The IPv4-IPv6 converting apparatus converts the IPv4 source address included in the received IPv4 packet into an IPv6 source address by adding fixed data to the IPv4 source address and converts an IPv4 destination address included in the IPv4 packet into the IPv6 address corresponding to the IPv4 destination address, thereby obtaining an IPv6 destination address, forming an IPv6 packet from the IPv4 packet, and sending the IPv6 packet to the IPv6 network. The IPv6 terminal forms the IPv6 packet by setting the own IPv6 address to the IPv6 source address and setting the IPv6 source address included in the received IPv6 packet to the IPv6 destination address, and transmits the IPv6 packet to the IPv4-IPv6 converting apparatus. The IPv4-IPv6 converting apparatus deletes the fixed data from the IPv6 destination address included in the received IPv6 packet, converts the resultant IPv6 destination address to the IPv4 destination address, and converts the IPv6 source address included in the IPv6 packet to the IPv4 address corresponding to the IPv6 source address, thereby obtaining the IPv4 source address, forming the IPv4 packet from the IPv6 packet, and transmitting the IPv4 packet to the IPv4 network.
In the communicating method between the IPv4 terminal and the IPv6 terminal according to the first aspect, when the communication from the IPv4 terminal side of the IPv4 network to the IPv6 terminal of the IPv6 network is started, the IPv4 address is dynamically allocated to the IPv6 terminal of the IPv6 network. Consequently, it is unnecessary to preliminarily fixedly allocate the IPv4 address to the IPv6 terminal, so that the consumption of the IPv4 address can be suppressed. Since the IPv4-IPv6 converting apparatus automatically obtains the IP address for the domain name of the IPv6 terminal from the DNSv6 server apparatus, the IPv4 terminal can designate the domain name and communicate with the IPv6 terminal.
According to the second aspect, in a communication network system comprising an IPv4 network, an IPv6 network, and an IPv4-IPv6 converting apparatus connected to both of them, an IPv6 terminal of the IPv6 network inquires an IP address for a domain name of an IPv4 terminal of the IPv4 network to the IPv4-IPv6 converting apparatus. Thus, the IPv4-IPv6 converting apparatus acquires an IPv4 address corresponding to the domain name from a DNSv4 server apparatus for managing domain information of the IPv4 network, converts the IPv4 address to the IPv6 address by adding fixed data to the IPv4 address, and notifies the IPv6 terminal of the IPv6 address. The IPv6 terminal forms an IPv6 packet by setting an own IPv6 address to an IPv6 source address and setting the notified IPv6 address to an IPv6 destination address and transmits the IPv6 packet to the IPv4-IPv6 converting apparatus. The IPv4-IPv6 converting apparatus deletes the fixed data from the IPv6 destination address included in the received IPv6 packet and converts the resultant IPv6 destination address to an IPv4 destination address, dynamically acquires the IPv4 address corresponding to the IPv6 source address included in the IPv6 packet from a DHCPv4 server apparatus for dynamically allocating the IPv4 address, forms the IPv4 packet from the IPv6 packet by using the IPv4 address, and transmits the IPv4 packet to the IPv4 network. The IPv4 terminal forms the IPv4 packet by setting the own IPv4 address to an IPv4 source address and setting the IPv4 source address included in the received IPv4 packet to an IPv4 destination address and transmits the IPv4 packet to the IPv4-IPv6 converting apparatus. The IPv4-IPv6 converting apparatus converts the IPv4 source address to the IPv6 source address by adding fixed data to the IPv4 source address, obtains the IPv6 destination address by converting the IPv4 destination address included in the IPv4 packet to the IPv6 address corresponding to the IPv4 destination address, forms the IPv6 packet from the IPv4 packet, and transmits the IPv6 packet to the IPv6 network.
In the communicating method between the IPv4 terminal and the IPv6 terminal according to the second aspect, when the communication from the IPv6 terminal side of the IPv6 network to the IPv4 terminal of the IPv4 network is started, the IPv4 address is dynamically allocated to the IPv6 terminal of the IPv6 network. Consequently, it is unnecessary to preliminarily fixedly allocate the IPv4 address to the IPv6 terminal, so that the consumption of the IPv4 address can be suppressed. Since the IPv4-IPv6 converting apparatus automatically obtains the IP address for the domain name of the IPv4 terminal from the DNSv4 server apparatus, the IPv6 terminal can designate the domain name and communicate with the IPv4 terminal.